100 REM MONOPOLE CBM-64 125 REM COPYRIGH3 (C) 1982 BY 126 REM TIM BORION & SAL OEPER-8/12/82 130 PRINT"[147]":POKE53280,0:POKE53281,0:CLR:GOSUB1590 140 PG$=" PURPLE, LT. BLUE, MAROON, ORANGE, RED, YELLOW, GREEN, DK. BLUE" 150 DIMPN$(42),D(42,3),CH$(16),CC$(16),P(42,9),PT$(42),C$(42),PS(42),H(42),MG(42) 160 DIM P$(4),PL(4),O(4),JT(4),M(4),CJ(4),PQ(4),N$(4) 170 GOSUB320 172 INPUT"RESTART A SAVED GAME (Y/N)";KK$ 173 IF KK$="Y" THEN GOSUB 9100 174 IF RS=1 THEN 200 180 INPUT"WANT FREE PARKING JACKPOT OPTION ";Q$:IFLEFT$(Q$,1)="Y"THENPF=1:FP=500 182 INPUT "# OF PLAYERS (2-4)";KK 184 IF KK<2 OR KK>4 THEN 182 186 IF KK=2 THEN PQ(3)=2:PQ(4)=2 187 IF KK=3 THEN PQ(4)=2 190 M(1)=1500:M(2)=1500:PL(1)=1:PL(2)=1:DV=2 191 IF PQ(3)=0 THEN M(3)=1500:PL(3)=1 192 IF PQ(4)=0 THEN M(4)=1500:PL(4)=1 200 CD$="":CR$="" 210 ZQ=RND(-TI):X1=8:Y1=10:X2=23:Y2=10:RX=6:RY=18:TN=832:TT=886 220 E$=" [146]":RM$="HIT 'R' OR 'T'[146]":IF RS=1 THEN 230 221 FOR QQ=1TO4 222 IF PQ(QQ)<>0 THEN 225 223 PRINT"ENTER NAME FOR PLAYER #";QQ; 224 INPUT N$(QQ) 225 IF N$(QQ)="" THEN N$(QQ)="PLAYER "+STR$(QQ) 226 IF LEN(N$(QQ))>10 THEN N$(QQ)=MID$(N$(QQ),1,10) 227 IF LEN(N$(QQ))<10 THEN N$(QQ)=N$(QQ)+MID$(" ",1,10-LEN(N$(QQ))) 228 NEXT QQ 230 PRINT"[147][159] PLEASE WAIT WHILE I SET UP." 240 FORI=1TO4:P(6+((I-1)*10),8)=100:NEXT:P(13,8)=75:P(29,8)=75 250 CH=INT(RND(1)*16)+1:CC=INT(RND(1)*16)+1 260 FORI=1TO41:FORJ=0TO1:READD(I,J):NEXT:NEXT 265 FORI=1TO41:FORJ=2TO3:READD(I,J):NEXT:NEXT 270 P$(1)=""+N$(1)+"[146]":P$(2)=""+N$(2)+"[146]" 275 P$(3)=""+N$(3)+"[146]":P$(4)=""+N$(4)+"[146]" 280 FORI=1TO41:READPN$(I):NEXT:FORI=1TO41:READPT$(I):IFPT$(I)<>"P"THEN300 290 READC$(I):FORJ=1TO9:READP(I,J):NEXTJ 300 NEXTI 310 FORI=1TO16:READCH$(I):NEXT:FORI=1TO16:READCC$(I):NEXT:GOTO390 320 PRINT"[154] [170][191] [191][146][180][170][183][183][183][180][170][191] [180][170][183][183][183][180][170][183][183][208][170][183][183][183][180][170] [207][183]" 322 PRINT" [170] [191][191][146] [180][170] [180][170] [191] [180][170] [180][170][175][175][186][170] [180][170] [204]" 324 PRINT" [170] [180][170] [180][170] [191] [180][170] [180][170] [170] [180][170] [207]" 330 PRINT" [170] [180][170][175][175][175][180][170] [191][180][170][175][175][175][180][170] [170][175][175][175][180][170][175][175][175] [204][175]" 339 KK=PT 350 PRINTTAB(19);"BY" 355 PRINT" TIM BORION AND SAL OEPER" 360 PRINT"HIT 'R' TO ROLL DICE AND 'T' FOR TRANSACTION MENU.":PRINT 370 PRINT"'0' CAN BE USED TO RETURN FROM MOST SUBROUTINES" 380 PRINT:PRINT"DEVELOPED PROPERTIES MAY NOT BE TRADED.":PRINT 385 PRINT"MODIFIED FOR 4 PLAYERS BY KEVIN KELLY":PRINT:RETURN 390 POKE54277,79:POKE54284,79:POKE54291,79 392 POKE54278,248:POKE54286,248:POKE54292,248 394 POKE54276,33:POKE54288,33:POKE54290,33 396 G(1)=54272:G(2)=54273:G(3)=54279:G(4)=54280:G(5)=54286:G(6)=54287 397 FORI=1TO6:POKEG(I),0:NEXT 398 POKE54296,15:IFPEEK(832)<>160THENGOSUB6370 399 IF RS<>1 THEN FORQQ=1TO4:PL(QQ)=1:NEXTQQ 400 GOSUB1320:GOSUB6470:FORQQ=4 TO1 STEP-1 401 IF PQ(QQ)<>0 OR PL(QQ)>40 THEN 404 402 POKED(PL(QQ),QQ-1),QQ+48 403 O(QQ)=D(PL(QQ),QQ-1) 404 NEXT 405 IF RS=1 THEN PT=SS:GOTO 450 410 PT=INT(RND(0)*4+1) 415 IF PQ(PT)<>0 THEN 410 450 MS$=""+N$(PT)+" STARTS"+"[146]" 460 X=RX+2:Y=RY+2:Z$=MS$:GOSUB1570:FORDE=1TO1500:NEXT:Z$=E$:GOSUB1570:GOTO680 470 DV=2:MF=0:JB=0 480 IFPL(PT)=41THEN590 490 JT(PT)=0 500 GOSUB1620:DF=1 510 IFDB=3THENSYSTN:GOSUB3150:SYSTT:GOSUB6470:GOTO620 520 FORM=1TODR:PL(PT)=PL(PT)+1 521 FOR QQ=1TO4 522 IF PQ(QQ)<>0 OR PL(QQ)>40THEN 525 524 POKED(PL(QQ),QQ-1),QQ+48 525 NEXTQQ 530 POKEO(PT),160:IFPL(PT)>40THENPL(PT)=PL(PT)-40:SYSTN:GOSUB1700:SYSTT 540 POKED(PL(PT),PT-1),48+PT 550 O(PT)=D(PL(PT),PT-1) 560 FORT=1TO50STEP6+PT:FORI=1TO6:POKEG(I),T:NEXT:NEXT 580 FORI=1TO6:POKEG(I),0:NEXT:NEXTM 581 FOR QQ=1TO4 582 IF PQ(QQ)<>0 OR PL(QQ)>40THEN 584 583 POKED(PL(QQ),QQ-1),QQ+48 584 NEXTQQ 590 POKED(PL(PT),PT-1),48+PT:GOSUB6470 595 IF PL(PT)=1THEN:SYSTN:GOSUB8000:SYSTT 600 SYSTN:GOSUB1770:SYSTT:GOSUB6470:IFM(PT)<0THENGOSUB6200:SYSTT 610 IFPL(PT)=11THENPOKED(41,PT-1),160:POKED(11,PT-1),48+PT 620 IFJBTHENJB=0:POKEO(PT),160:O(PT)=D(PL(PT),PT-1):GOTO520 630 IFMFTHENMF=0:POKEO(PT),160:O(PT)=D(PL(PT),PT-1):GOTO590 640 IFJETHENJE=0:POKEO(PT),160:O(PT)=D(PL(PT),PT-1):GOTO680 650 IFJFTHENJF=0:POKED(PL(PT),PT-1),48+PT:POKEO(PT),160:O(PT)=D(PL(PT),PT-1) 660 IFDBTHEN680 670 PT=PT+1:IFPT>4THENPT=1 671 IF PQ(PT)<>0THEN670 680 Z$=P$(PT):X=RX+2:Y=RY+1:GOSUB1570 690 Z$=RM$:X=RX+2:Y=RY+2:GOSUB1570 691 IF PQ<>0THENPOKED(PL(PQ),PQ-1),160:PQ=0 700 GETBC$:IFBC$<>""THEN700 710 GETA$:IFA$=""THEN710 720 IFA$="T"THENSYSTN:GOSUB4080:SYSTT:GOSUB6470:GOTO680 730 Z$=E$:X=RX:Y=RY:GOSUB1570 740 GOTO470 750 DATA1978,1938,1974,1973,1931,1930,1968,1967,1925,1924,1922,1921 760 DATA1959,1958,1956,1955,1953,1952,1950,1949,1944,1904 770 DATA1824,1825,1744,1745,1664,1665,1584,1585,1505,1506,1424,1425 780 DATA1346,1347,1264,1265,1184,1185,1104,1105 790 DATA1029,1030,1032,1033,1035,1036,1038,1039,1081,1082,1044,1045 800 DATA1047,1048,1130,1131,1053,1054,1096,1097 810 DATA1217,1218,1297,1298,1377,1378,1457,1458,1536,1537,1617,1618 820 DATA1697,1698,1777,1778,1857,1858,1906,1907 821 DATA1978,1938,1974,1973,1931,1930,1968,1967,1925,1924,1922,1921 822 DATA1959,1958,1956,1955,1953,1952,1950,1949,1944,1904 823 DATA1824,1825,1744,1745,1664,1665,1584,1585,1505,1506,1424,1425 824 DATA1346,1347,1264,1265,1184,1185,1104,1105 825 DATA1029,1030,1032,1033,1035,1036,1038,1039,1081,1082,1044,1045 826 DATA1047,1048,1130,1131,1053,1054,1096,1097 827 DATA1217,1218,1297,1298,1377,1378,1457,1458,1536,1537,1617,1618 828 DATA1697,1698,1777,1778,1857,1858,1906,1907 830 DATA">GO<[155]","[155]MEDITERRANEAN AVE[155]","[158]COMMUNITY CHEST[155]","[155]BALTIC AVE.[155]" 835 DATA"[154]INCOME TAX[155]" 840 DATA"[152]READING R.R.[155]","[159]ORIENTAL AVE.[155]","[150]CHANCE[155]","[159]VERMONT AVE.[155]" 845 DATA"[159]CONNECTICUT AVE.[155]" 850 DATA"[150]JUST VISITING[155]","[156]ST.CHARLES PLACE[155]","[153]ELECTRIC COMPANY[155]","[156]STATES AVE.[155]" 860 DATA"[156]VIRGINIA AVE.[155]","[152]PENNSYLVANIA R.R.[155]","[129]ST. JAMES PLACE[155]" 865 DATA"[158]COMMUNITY CHEST[155]" 870 DATA"[129]TENNESSEE AVE.[155]","[129]NEW YORK AVE.[155]","[149]FREE PARKING[155]","KENTUCKY AVE.[155]" 880 DATA"[150]CHANCE[155]","INDIANA AVE.[155]","ILLINOIS AVE.[155]","[152]B & O R.R.[155]" 885 DATA"[158]ATLANTIC AVE.[155]" 890 DATA"[158]VENTNOR AVE.[155]","[153]WATER WORKS[155]","[158]MARVIN GARDENS[155]","[150]GO[155] [154]TO[155] JAIL[155]" 895 DATA"PACIFIC AVE.[155]" 900 DATA"N. CAROLINA AVE.[155]","[158]COMMUNITY CHEST[155]","PENNSYLVANIA AVE.[155]" 905 DATA"[152]SHORT LINE R.R.[155]" 910 DATA"[150]CHANCE[155]","PARK PLACE[155]","[154]LUXURY TAX[155]","BOARDWALK[155]","[150]IN JAIL[155]" 920 DATAGO,P,PURPLE,60,2,10,30,90,160,250,30,50,CC,P,PURPLE,60,4,20,60,180,320 930 DATA450,30,50,IT,RR,P,LT. BLUE,100,6,30,90,270,400,550,50,50,CH,P,LT. BLUE 940 DATA 100,6,30,90,270,400,550,50,50,P,LT. BLUE,120,8,40,100,300,450,600,60,50 950 DATAJV,P,MAROON,140,10,50,150,450,625,750,70,100,U,P,MAROON,140,10,50,150,450 960 DATA625,750,70,100,P,MAROON,160,12,60,180,500,700,900,80,100,RR 970 DATAP,ORANGE,180,14,70,200,550,750,950,90,100,CC,P,ORANGE 980 DATA 180,14,70,200,550,750,950,90,100 990 DATAP,ORANGE,200,16,80,220,600,800,1000,100,100,FP,P,RED 1000 DATA 220,18,90,250,700,875 1010 DATA1050,110,150,CH,P,RED,220,18,90,250,700,875,1050,110,150,P,RED,240 1020 DATA 20,100,300 1030 DATA750,925,1100,120,150,RR,P,YELLOW,260,22,110,330,800,975,1150,130,150 1040 DATA P,YELLOW,260 1050 DATA22,110,330,800,975,1150,130,150,U,P,YELLOW,280,24,120,360,850,1025,1200 1060 DATA 140 1070 DATA150,GTJ,P,GREEN,300,26,130,390,900,1100,1275,150,200,P,GREEN 1080 DATA 300,26,130,390,900 1090 DATA1100,1275,150,200,CC,P,GREEN,320,28,150,450,1000,1200,1400 1100 DATA 160,200,RR,CH 1110 DATAP,DK. BLUE,350,35,175,500,1100,1300,1500,175,200,LT,P,DK. BLUE 1120 DATA 400,50,200,600,1400 1130 DATA1700,2000,200,200,IJ 1140 DATA PAY POOR TAX $15,GO DIRECTLY TO JAIL,ADVANCE TO GO(COLLECT $200) 1150 DATA YOUR BUILDING AND LOAN MATURES COLLECT $150 1160 DATA ADVANCE TOKEN TO NEAREST R.R. $ PAY OWNER TWICE RENT 1170 DATAADVANCE TO ILLINOIS AVE.,BANK PAYS YOU DIVIDEND OF $50 1180 DATAGET OUT OF JAIL FREE,PAY EACH PLAYER $50,ADVANCE TO ST. CHARLES PLACE 1190 DATATAKE A RIDE ON THE READING,GO BACK THREE SPACES,ADVANCE TO BOARDWALK 1200 DATAMAKE GENERAL REPAIRS $25 FOR EACH HOUSE$100 FOR EACH HOTEL 1210 DATA ADVANCE TOKEN TO NEAREST R.R. $ PAY OWNER TWICE RENT 1220 DATA ADVANCE TOKEN TO NEAREST UTILITY ROLL DICE & PAY 10*# SHOWN 1230 DATA GET OUT OF JAIL FREE,GO TO JAIL,ADVANCE TO GO(COLLECT $200) 1240 DATA FROM SALE OF STOCK YOU GET $45,COLLECT $50 FROM EVERY PLAYER 1250 DATA RECEIVE FOR SERVICES $25,PAY SCHOOL TAX OF $150,TAX REFUND COLLECT $20 1260 DATA ASSESSED FOR REPAIRS $40 PER HOUSE $115 PER HOTEL 1270 DATA YOU HAVE WON SECOND PRIZE IN A BEAUTY CONTEST COLLECT $10 1280 DATA YOU INHERIT $100,XMAS FUND MATURES COLLECT $100,PAY HOSPITAL $100 1290 DATA BANK ERROR IN YOUR FAVOR COLLECT $200,DOCTORS FEE PAY $50 1300 DATA LIFE INSURANCE MATURES COLLECT $100 1310 GOTO6360 1320 PRINT"[147][149] [160][155][165][160][160][165][160][160][165][160][160][165][160][160][152][191][191][191][155][165][160][160][165] [165][153]WW[155][165][160][160][150][165]GTJ[146]" 1330 PRINT"[149][160]FP[160][155][165][160][160][165][150]?[155][160][165][160][160][165][160][160][152][165][160][160][155][165][160][160][165][160] [165][153][176][177][155][165][160][160][154][165] [146]" 1340 PRINT"[149] [160]KY [155] [160]IN[160]IL [152]B&O[158] AT[165]VN[155][165][160][160][158]MG[160][165][197][215] [155][146]" 1350 PRINT"[163][163][163][129]N[155][207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]P[155][163][163][163][146]" 1360 PRINT" [129]Y[155][165] [206][205] A[155][160] [146]" 1370 PRINT"[163][163][163][129]T[155][165] [158][206] [155][205] 1- N[155][163][163][163][146]" 1380 PRINT" [129]N[155][165][206][158]C C[155][206] C[155] [146]" 1390 PRINT"[163][163][163][163][165][205][158] [206][155] 2- [207][163][163][163][146]" 1400 PRINT"[158]CC[155] [165] [205][206] [158]CC[155] [146]" 1410 PRINT"[163][163][163][129]S[155][165] [164][164][164] [164][164][164] P[155][163][163][163][146]" 1420 PRINT" [129]J[155][165] [167] [155][165] [167] [155][165] N[155] [146]" 1430 PRINT"[152][191]PR[191][155][165] [167] [155][165] MONOPOLE[155] [167] [155][165] [167][152][191]SL[191][146]" 1440 PRINT"[191] [191][155][165] [167] [155][165] CBM-64[155] [167] [155][165] [167][152][191] [191][155][146]" 1450 PRINT"[163][163][163][156]V[155][165] [163][163][163] [163][163][163] [207][163][163][163][146]" 1460 PRINT" [156]A[155][165]3- [165][150]?[155] [146]" 1470 PRINT"[163][163][163][156]S[155][165] [206][205] P[155][163][163][163][146]" 1480 PRINT" [156]T[155][165]4- [150][206] [155][205] P[155] [146]" 1490 PRINT"[163][153]EC[155][163][165] [206][150]???[155][206] [154]TAX[155][163][146]" 1500 PRINT" [165] [205][150] [206][155] [165] [146]" 1510 PRINT"[163][163][163][156]S[155][165] [205][206] B[155][163][163][163][146]" 1520 PRINT" [156]C[155][165] W[155] [146]" 1530 PRINT"[150][163][155][207][163][163][159]CT [165]VT[155][207][163][163][159]OR [152][207]RR[155][207][163][163][146]BA [207][163][163][146]ME [207][163][163][163][146]" 1540 PRINT"[150] [155][165] [165] [165] [165][150]?[155][160][165][160][160][152][165][160][160][155][165][160][160][165][160][160][165] [165] [165]GO [146]" 1550 PRINT"[150] [163][163][163][155][165] [165] [165] [165] [152][191][191][191][154]TAX[155][165] [165][158]CC[155][165] [165]_[192] [146]" 1560 RETURN 1570 PRINT"[155]";LEFT$(CR$,X);LEFT$(CD$,Y);Z$;"" 1580 RETURN 1590 DC$(1)=" [157][157][157] [209] [157][157][157] [146]":DC$(2)=" [209][157][157][157] [157][157][157][209] [146]" 1600 DC$(3)="[209] [157][157][157] [209] [157][157][157] [209][146]":DC$(4)="[209] [209][157][157][157] [157][157][157][209] [209][146]" 1610 DC$(5)="[209] [209][157][157][157] [209] [157][157][157][209] [209][146]":DC$(6)="[209] [209][157][157][157][209] [209][157][157][157][209] [209][146]":RETURN 1620 CT=0 1630 R1=INT(RND(1)*6)+1:R2=INT(RND(1)*6)+1:DR=R1+R2 1635 FORI=1TO6:POKEG(I),DR*10:NEXT 1640 PRINT"";LEFT$(CR$,X1);LEFT$(CD$,Y1);DC$(R1) 1650 PRINT"";LEFT$(CR$,X2);LEFT$(CD$,Y2);DC$(R2) 1655 FORI=1TO6:POKEG(I),0:NEXT 1660 CT=CT+1:IFCT<7THENFORDELAY=1TO75:NEXT:GOTO1630 1670 IFR1=R2THENDB=DB+1:GOTO1690 1680 DB=0 1690 RETURN 1700 PRINT"[147]":PRINT 1710 PRINT" COLLECT $200 AS YOU PASS [172][162][172][187][157][157][157][157][157][188][190][188][190][146]" 1720 M(PT)=M(PT)+200:PRINT:PRINT:PRINT 1730 PRINT"HIT ANY KEY TO CONTINUE[146]" 1740 GETW$:IFW$<>""THEN1740 1750 GETK$:IFK$=""THEN1750 1760 RETURN 1770 POKE198,0:PT$=PT$(PL(PT)) 1780 IFPT$="P"THEN1900 1790 IFPT$="RR"THEN2380 1800 IFPT$="GO"THENRETURN 1810 IFPT$="U"THEN2700 1820 IFPT$="FP"THEN3010 1830 IFPT$="JV"THENRETURN 1840 IFPT$="GTJ"THEN3150 1850 IFPT$="IT"THEN3210 1860 IFPT$="LT"THEN3190 1870 IFPT$="CC"THEN3230 1880 IFPT$="CH"THEN3470 1890 IFPT$="IJ"THEN3880 1900 PRINT"[147]";TAB(15);"TITLE DEED" 1910 IFGFTHEN1950 1920 PRINT" PLAYER"PT 1930 PO=3-PT 1940 PL=PL(PT):P7=PT 1950 PRINTTAB(20-(LEN(PN$(PL))-1)/2)"";PN$(PL)"[146]" 1955 PRINTLEFT$(PN$(PL),1):QR=PEEK(646):POKE53280,QR:PRINT"[145][145]" 1960 PRINT 1970 PRINT" RENT $";P(PL,2) 1980 PRINT" WITH 1 HOUSE $";P(PL,3) 1990 PRINT" WITH 2 HOUSES ";P(PL,4) 2000 PRINT" WITH 3 HOUSES ";P(PL,5) 2010 PRINT" WITH 4 HOUSES ";P(PL,6) 2020 PRINT" WITH HOTEL $";P(PL,7) 2030 PRINT 2040 PRINT" MORTAGE VALUE $";P(PL,8) 2050 PRINT" HOUSES COST $";P(PL,9);"EACH" 2060 PRINT" HOTELS, $";P(PL,9);". PLUS 4 HOUSES" 2070 IFGFTHENPRINT:PRINT:GOSUB1730:POKE53280,0:RETURN 2080 PRINT:FORI=1TO41:IFC$(PL)=C$(I)ANDI<>PLTHENGOSUB2100 2090 NEXT:GOTO2120 2100 IFPS(I)THENPRINT" "PN$(I)" OWNED BY PLAYER #"PS(I):RETURN 2110 PRINT" "PN$(I)" STILL FOR SALE.":RETURN 2120 PRINT 2130 IFMG(PL)=1THENPRINT" MORTAGED FOR $"P(PL,8) 2140 PRINT" COST $";P(PL,1) 2150 IFPS(PL)=0THEN2200 2160 PRINT" OWNED[146] BY PLAYER"PS(PL):IFH(PL)THENPRINT"WITH"; 2170 IFH(PL)<5THENPRINTH(PL)"HOUSES." 2180 IFH(PL)=5THENPRINT" A HOTEL" 2190 GOTO2250 2200 PRINT" YOU HAVE $";M(P7) 2210 PRINT" DO YOU WISH TO BUY THIS PROPERTY";:INPUT" [191][157][157][157]";A$:A$=LEFT$(A$,1) 2220 IFA$="N"THEN2310 2230 IFA$<>"Y"THENPRINT"[145][145]":GOTO2210 2240 PRINT" OK YOU BOUGHT ";PN$(PL)"":M(P7)=M(P7)-P(PL,1):PS(PL)=PT:GOTO2300 2250 OW=P(PL,H(PL)+2):IFPS(PL)=PTTHEN2300 2260 IFMG(PL)THEN2300 2270 P5=PO:P6=PS(PL):GOSUB2320:IFOATHENIFH(PL)=0THENOW=OW*2 2280 M(PT)=M(PT)-OW:M(PS(PL))=M(PS(PL))+OW:PRINT" YOU OWE $";OW 2300 GOSUB1730:POKE53280,0:RETURN 2310 GOSUB6040:GOTO2300 2320 MG=0:OA=0:PC=0:FORI=1TO41:IFC$(PL)=C$(I)ANDPS(I)=P5THENPC=PC+1:IFMG(I)THENMG=MG 2330 NEXT 2340 IFPC=2ANDC$(PL)="PURPLE"THENOA=1:RETURN 2350 IFPC=2ANDC$(PL)="DK. BLUE"THENOA=1:RETURN 2360 IFPC=3THENOA=1:RETURN 2370 RETURN 2380 PRINT"[147]":PL=PL(PT) 2390 PRINT"PLAYER"PT 2400 PRINT" [150][216][152] [172][146]" 2410 PRINT"  [146]" 2420 PRINT" [206][149][215] [215]" 2430 PRINT 2440 PRINTTAB(20-LEN(PN$(PL))/2)"";PN$(PL)"[146]" 2442 POKE54276,129:POKE54288,17:POKE54290,17 2443 KO=129:FORT=1TO2:FORI=1TO6:POKEG(I),KO:NEXT:FORDL=1TO400:NEXT 2444 FORI=1TO6:POKEG(I),0:NEXT:FORDL=1TO60:NEXT:NEXT 2445 POKE54276,33:POKE54288,33:POKE54290,33 2450 PRINT:PRINT"RENT $25" 2460 PRINT"IF 2 R.R.'S ARE OWNED 50" 2470 PRINT"IF 3 R.R.'S ARE OWNED 100" 2480 PRINT"IF 4 R.R.'S ARE OWNED 200" 2490 PRINT 2500 PRINT"MORTAGE VALUE $100" 2510 PRINT:IFMG(PL)=1THENPRINT"MORTAGED FOR $100":GOTO2690 2520 PRINT"COST $200" 2530 PRINT:FORI=1TO41:IFPT$(I)="RR"THENGOSUB2550 2540 NEXT:GOTO2570 2550 IFPS(I)THENPRINTPN$(I)" OWNED BY PLAYER #";PS(I):RETURN 2560 PRINTPN$(I)" STILL FOR SALE.":RETURN 2570 IFPS(PL)THENPRINT"OWNED[146] BY PLAYER#";PS(PL):GOTO2650 2580 PRINT"YOU HAVE $"M(PT) 2590 PRINT"DO YOU WISH TO BUY IT";:INPUT" [191][157][157][157]";B$:B$=LEFT$(B$,1) 2600 IFB$="N"THENGOSUB6040:GOTO2690 2610 IFB$<>"Y"THENPRINT"[145][145]":GOTO2590 2620 M(PT)=M(PT)-200:PS(PL)=PT 2630 PRINT"OK YOU BOUGHT IT" 2640 GOTO2690 2650 OW=0:O7=0 2660 IFPS(PL)=PTTHEN2690 2670 OW=25:FORI=6TO36STEP10:IFPT$(I)="RR"ANDPS(I)=PS(PL)THENOW=OW*2 2680 NEXT:OW=OW/DV:PRINT"YOU OWE $";OW:M(PT)=M(PT)-OW:M(PS(PL))=M(PS(PL))+OW 2690 GOSUB1730:RETURN 2700 PRINT"[147]" 2710 PRINT"PLAYER"PT 2720 PRINT" [158][206][163][205] [152][215][209][215] " 2730 PRINT" [158][205][150]^[158][206] [152][171][192][177][192][192][192][201] " 2740 PRINT" [158][165][165] [152][171][192][192][192][192][201][200] " 2750 PRINT" [166] [173][189] ":PRINT 2760 PL=PL(PT) 2770 PRINTTAB(20-LEN(PN$(PL))/2)"";PN$(PL)"[146]" 2780 PRINT:PRINT"IF ONE 'UTILITY IS OWNED PAY 4 TIMES THEAMOUNT SHOWN ON DICE" 2790 PRINT 2800 PRINT"IF BOTH OWNED PAY 10 [214] AMOUNT ON DICE" 2810 D1=INT(RND(1)*6)+1:D2=INT(RND(1)*6)+1 2820 IFDFTHEND1=R1:D2=R2 2830 PRINT:PRINT"MORTAGE VALUE $75":PRINT 2840 IFMG(PL)=1THENPRINT"MORTAGED FOR $75":GOTO3000 2850 IFPS(42-PL)THENPRINTPN$(42-PL)" OWNED BY PLAYER"PS(42-PL):GOTO2870 2860 PRINTPN$(42-PL)" STILL FOR SALE." 2870 PRINT:IFPS(PL)THENPRINT"OWNED[146] BY PLAYER#";PS(PL):GOTO2950 2880 PRINT"YOU HAVE $"M(PT) 2890 INPUT"DO YOU WISH TO BUY IT [191][157][157][157]";B$:B$=LEFT$(B$,1) 2900 IFB$="N"THENGOSUB6040:GOTO3000 2910 IFB$<>"Y"THENPRINT"[145][145]":GOTO2890 2920 PRINT"OK YOU BOUGHT ";PN$(PL)"" 2930 M(PT)=M(PT)-150 2940 PS(PL)=PT:GOTO3000 2950 IFPS(PL)=PTTHEN3000 2960 PRINT"DICE SHOW"D1"AND"D2"." 2970 MT=4:IFPS(13)=PS(PL)ANDPS(29)=PS(PL)THENMT=10 2980 IFDF=0THENMT=10 2990 OW=MT*(D1+D2):PRINT"YOU OWE $";OW:M(PT)=M(PT)-OW:M(PS(PL))=M(PS(PL))+OW 3000 MT=0:GOSUB1730:RETURN 3010 PRINT"[147]" 3020 PRINT" [129]FREE 3030 [153]" (null)LENLENLENLENLENRIGHT$" 3040 [153]" PEEK OPENORTAN^ LEFT$ 3050 PRINT" [221] [159][173][192][189] [221] 3060 [153]" LEFT$ VERIFY(null)LENRIGHT$ PEEK 3070 PRINT" [213][192][189] [149][194][152][209][149][200] [173][192][201] 3080 [153]" (null) VERIFYMID$ASC(null) (null) 3090 PRINT" [173][192][152][168][192][192][192][192][192][152][168][192][189] 3100 [153]" PRINT#SPC( SPC( 3110 PRINT:PRINT" [129]PARKING":PRINT 3120 IFPF=0THENGOSUB1730:RETURN 3130 PRINT:PRINT" YOU GET THE FREE PARKING" 3140 PRINT" JACKPOT OF $"FP"!":M(PT)=M(PT)+FP:FP=0:PRINT:GOSUB1730:RETURN 3150 PRINT"[147]";TAB(15);"GO TO JAIL" 3160 IFDB=3THENPRINT:PRINT" FOR ROLLING DOUBLES 3 TIMES IN A ROW!":PRINT 3170 PRINTTAB(16);"[151][176][178][178][178][178][178][178][174]":FORI=1TO5:PRINTTAB(16);"[221][221][221][221][221][221][221][221]":NEXT 3175 PRINTTAB(16);"[173][177][177][177][177][177][177][189]":PRINT:PL(PT)=41:JF=1:DB=0 3180 FORKO=1TO3:FORT=60TO110STEP1.7:FORI=1TO6:POKEG(I),T:NEXT:NEXT 3182 FORDL=1TO10:NEXT 3183 FORT=110TO60STEP-1.7:FORI=1TO6:POKEG(I),T:NEXT:NEXT:NEXT 3184 FORI=1TO6:POKEG(I),0:NEXT 3185 PRINT"";:GOSUB1730:RETURN 3190 PRINT"[147]";TAB(15);"LUXURY TAX":PRINT:PRINTTAB(16);"PAY $75" 3200 PRINT:PRINT:PRINT:M(PT)=M(PT)-75:FP=FP+75:GOSUB1730:RETURN 3210 PRINT"[147]";TAB(15);"INCOME TAX":PRINT:PRINTTAB(16);"PAY $200" 3220 PRINT:PRINT:PRINT:M(PT)=M(PT)-200:FP=FP+200:GOSUB1730:RETURN 3230 CC=CC+1:IFCC>16THENCC=CC-16 3240 PO=3-PT:CC$=CC$(CC):IFCC=1ANDCJ(1)THENCC=CC+1:CC$=CC$(CC) 3250 PRINT"[147] [158]COMMUNITY CHEST":PRINTCC$"" 3260 IFCC=1THENCJ(1)=PT 3270 IFCC=2THENGOSUB1730:GOTO3150 3280 IFCC=3THENPL(PT)=1:MF=1:GOSUB1730:GOSUB1700:RETURN 3290 IFCC=4THENM(PT)=M(PT)+45 3300 IF CC<>5THEN3310 3302 FOR QQ=1TO4 3303 IF QQ=PT THEN 3307 3304 IF PQ(QQ)<>0THEN3307 3305 M(PT)=M(PT)+50:M(QQ)=M(QQ)-50 3307 NEXT QQ 3310 IFCC=6THENM(PT)=M(PT)+25 3320 IFCC=7THENM(PT)=M(PT)-150:FP=FP+150 3330 IFCC=8THENM(PT)=M(PT)+20 3340 IFCC=9THENGOSUB3430 3350 IFCC=10THENM(PT)=M(PT)+10 3360 IFCC=11THENM(PT)=M(PT)+100 3370 IFCC=12THENM(PT)=M(PT)+100 3380 IFCC=13THENM(PT)=M(PT)-100 3390 IFCC=14THENM(PT)=M(PT)+200 3400 IFCC=15THENM(PT)=M(PT)-50 3410 IFCC=16THENM(PT)=M(PT)+100 3420 GOSUB1730:RETURN 3430 YP=0:FORI=1TO40 3440 IFPS(I)=(PT)ANDH(I)<5THENYP=YP+(40*H(I)) 3450 IFPS(I)=(PT)ANDH(I)=5THENYP=YP+115 3460 NEXT:PRINT"YOU PAY $"YP:M(PT)=M(PT)-YP:FP=FP+YP:RETURN 3470 CH=CH+1:IFCH>16THENCH=CH-16 3480 PO=3-PT:CH$=CH$(CH):IFCH=8ANDCJ(2)THENCH=CH+1:CH$=CH$(CH) 3490 PRINT"[147] [150]? ? CHANCE ? ?":PRINTCH$"" 3500 IFCH=1THENM(PT)=M(PT)-15:FP=FP+15 3510 IFCH=2THENGOSUB1730:GOTO3150 3520 IFCH=3THENPL(PT)=1:MF=1:GOSUB1730:GOSUB1700:RETURN 3530 IFCH=4THENM(PT)=M(PT)+150 3540 IFCH=5THENGOSUB3670:MF=1 3550 IFCH=6THENGOSUB3710:MF=1 3560 IFCH=7THENM(PT)=M(PT)+50 3570 IFCH=8THENCJ(2)=PT 3580 IF CH<>9THEN3590 3581 FOR QQ=1TO4 3582 IF QQ=PT OR PQ(QQ)<>0 THEN 3587 3584 M(PT)=M(PT)-50:M(QQ)=M(QQ)+50 3587 NEXT QQ 3590 IFCH=10THENGOSUB3730:MF=1 3600 IFCH=11THENGOSUB3750:MF=1 3610 IFCH=12THENPL(PT)=PL(PT)-3:MF=1 3620 IFCH=13THENGOSUB3770:MF=1 3630 IFCH=14THENGOSUB3790 3640 IFCH=15THENGOSUB3670:MF=1 3650 IFCH=16THENGOSUB3830:MF=1 3660 GOSUB1730:RETURN 3670 PL(PT)=PL(PT)+1:IFPL(PT)>40THENGOSUB6540:PL(PT)=PL(PT)-40 3680 IFPT$(PL(PT))="RR"THEN3700 3690 GOTO3670 3700 DV=1:RETURN 3710 IFPL(PT)>25THENGOSUB6540 3720 PL(PT)=25:RETURN 3730 IFPL(PT)>12THENGOSUB6540 3740 PL(PT)=12:RETURN 3750 IFPL(PT)>6THENGOSUB6540 3760 PL(PT)=6:RETURN 3770 PL(PT)=40:RETURN 3780 RETURN 3790 DF=0:YP=0:FORI=1TO40 3800 IFPS(I)=(PT)ANDH(I)<5THENYP=YP+(25*H(I)) 3810 IFPS(I)=(PT)ANDH(I)=5THENYP=YP+100 3820 NEXT:PRINT"YOU PAY $"YP:M(PT)=M(PT)-YP:FP=FP=YP:RETURN 3830 PL(PT)=PL(PT)+1 3840 IFPL(PT)>40THENGOSUB6540:PL(PT)=PL(PT)-40 3850 IFPT$(PL(PT))="U"THEN3870 3860 GOTO3830 3870 MF=1:RETURN 3880 PRINT"[147]" 3890 JT(PT)=JT(PT)+1 3900 PRINT"PLAYER #"PT"IS IN JAIL" 3910 PRINT:PRINT"YOU HAVE BEEN IN"JT(PT)"TURNS" 3920 PRINT"YOU MAY: 1. PAY $50" 3930 PRINT" 2. USE A 'GET OUT OF JAIL FREE CARD." 3940 PRINT" 3. TRY TO ROLL DOUBLES." 3950 PRINT:INPUT"CHOICE";I:IFI<1ORI>3THEN3950 3960 IFI=1THENM(PT)=M(PT)-50:FP=FP+50:PL(PT)=11:GOSUB1730:JE=1:RETURN 3970 IFI=2ANDCJ(1)=PTTHENCJ(1)=0:PL(PT)=11:GOSUB1730:JE=1:RETURN 3980 IFI=2ANDCJ(2)=PTTHENCJ(2)=0:PL(PT)=11:GOSUB1730:JE=1:RETURN 3990 IFI=2THENPRINT"YOU DON'T HAVE A CARD":GOTO3950 4000 IFI=3THENGOSUB1620:IFDBTHEN4060 4010 PRINT"YOU DIDN'T ROLL DOUBLES." 4020 IFJT(PT)>2THENPRINT"YOU MUST PAY THE $50":M(PT)=M(PT)-50:PL(PT)=11:JB=1 4030 IFJT(PT)>2THENGOSUB1730:FP=FP+50:RETURN 4040 GOSUB1730:RETURN 4050 IFPL(PT)=11THENGOSUB1730:JE=1:RETURN 4060 PRINT"YOU MADE IT OUT!!!":PL(PT)=11:GOSUB1730:JB=1:DB=0:RETURN 4070 GOTO6200 4080 PRINT"[147]":IFPFTHENPRINT"MONEY IN FREE PARKING JACKPOT $";FP 4090 PRINT"PLAYER 1 HAS $";M(1):PRINT"PLAYER 2 HAS $";M(2) 4095 PRINT"PLAYER 3 HAS $";M(3):PRINT"PLAYER 4 HAS $";M(4) 4100 PRINT:PRINT"PLAYER";PT"UP." 4110 PRINT:PRINT:PRINTTAB(15);"OPTIONS" 4120 PRINT 4130 PRINT" R=REVIEW PROPERTIES" 4140 PRINT" L=LIST ALL PROPERTIES" 4150 PRINT" B=BUILD HOUSES/HOTELS" 4160 PRINT" S=SELL PROPERTIES TO OTHER PLAYER" 4170 PRINT" M=MORTAGE PROPERTIES(SELL HOUSES)" 4180 PRINT" D=DISPLAY TITLE DEEDS" 4190 PRINT" Q=RETURN TO GAME" 4200 PRINT" XX=SAVE GAME, PLAYER QUITS OR END GAME":PRINT 4210 INPUT"CHOICE [191][157][157][157]";C$ 4220 IFC$="[191]"THEN4210 4230 IFC$="R"THENGOSUB4320 4240 IFC$="L"THENGOSUB4490 4250 IFC$="B"THENGOSUB4640 4260 IFC$="S"THENGOSUB5080 4270 IFC$="M"THENGOSUB5440 4280 IFC$="D"THENGOSUB6510 4290 IFC$="Q"THENRETURN 4300 IFC$="XX"THENGOSUB 6280 4310 GOTO4080 4320 INPUT"FOR WHICH PLAYER (1-4)";PN 4330 IFPN<1ORPN>4THEN4320 4332 IF PQ(PN)<>0THENPRINT:PRINT"PLAYER NOT CURRENTLY PLAYING!":PRINT:GOTO 4320 4335 RP=0:GOTO 4340:INPUT"LIST ON PRINTER?";KK$ 4337 IF KK$="Y"THENRP=1:OPEN4,4:CMD4:GOTO4350 4340 PRINT"[147]" 4350 PRINTTAB(6)"PROPERTIES FOR PLAYER ";PN 4360 PRINT 4370 FORI=1TO40:PO$="":IFPS(I)=PNTHENPRINTPN$(I); 4380 IFPS(I)<>PNTHEN4450 4390 IFPT$(I)<>"P"THEN4430 4400 PRINTSPC(20-(LEN(PN$(I))-2));" -";:IFH(I)<5THENPO$=STR$(H(I))+" HS" 4410 IFH(I)=5THENPO$=" HOTEL[146]" 4420 PO$=PO$+"/$"+MID$(STR$(P(I,H(I)+2)),2) 4430 IFMG(I)=1THENPO$="- MORTAGED" 4440 PRINTPO$ 4450 NEXT 4460 PRINT:IFCJ(1)=PNORCJ(2)=PNTHENPRINT"GET OUT OF JAIL FREE CARD." 4470 PRINT"PLAYER"PN"HAS $";M(PN) 4479 IF RP=1THENRP=0:PRINT#4:CLOSE4 4480 PRINT:GOSUB1730:RETURN 4490 LP=0:PRINT 4492 INPUT"LIST ON PRINTER";KK$ 4494 IF KK$="Y"THEN LP=1:OPEN4,4:CMD4:GOTO4500 4499 PRINT"[147]" 4500 TT$="NAME OWNER/[157][157][157][157][157][157]#HOUSES" 4501 IF LP=1THEN TT$="NAME OWNER/#HOUSES":PRINT 4502 PRINT TT$ 4503 IF LP=1THENPRINT" " 4510 FORK=1TO40:IFPT$(K)<>"P"ANDPT$(K)<>"RR"ANDPT$(K)<>"U"THEN4600 4515 IF LP=1THENKK$=MID$(PN$(K),2,LEN(PN$(K))):PRINT KK$;:GOTO4540 4520 PRINTPN$(K)"";TAB(21); 4530 PRINTTAB(33) 4540 P$=STR$(PS(K)):PP$=MID$(STR$(H(K)),2):IFH(K)>4THENPP$="H" 4550 IFPT$(K)<>"P"THENPP$="X" 4551 IF LP=1ANDMG(K)THENP$="MG":GOTO4570 4560 IFMG(K)THENPP$="MG[146]" 4570 P$=P$+" -"+PP$ 4580 IFPS(K)=0THENP$=" NONE" 4585 IF LP=1THEN PRINT TAB(30-LEN(KK$)); 4590 PRINTP$ 4600 IFK=20ANDLP=0THEN:PRINT:GOSUB1730:PRINT"[147]":PRINTTT$ 4610 NEXTK 4620 PRINT 4622 IF LP=1THENPRINT#4:CLOSE4:LP=0 4623 PRINT:GOSUB 1730 4630 RETURN 4640 PRINT"[147]" 4650 HO=0 4660 PRINT" ON WHICH GROUP":PRINTPG$ 4670 PRINT 4680 INPUT"WHICH COLOR";C$ 4690 FORI8=1TO41:IFC$=LEFT$(C$(I8),LEN(C$))THENPL=I8:C$=C$(I8):GOTO4720 4700 NEXTI8 4710 PRINT"ILLEGAL GROUP":GOTO4680 4720 P7=PT 4730 P5=P7:GOSUB2320:IFMGTHENOA=0 4740 IFOATHEN4770 4750 PRINT"SORRY YOU EITHER DON'T OWN ALL THE PROP-ERTY IN THAT GROUP OR SOME"; 4760 PRINT" IS MORTAGED.":GOSUB1730:RETURN 4770 PRINT" PROPERTY NAME # OF HOUSES(5=HOTEL)" 4780 HS=0:FORI=PLTOPL+4:IFC$=C$(I)THENPRINTPN$(I)"";TAB(30);H(I):HS=HS+H(I) 4790 NEXT 4800 PRINT:PRINT"HOUSES FOR THIS GROUP COST $"P(PL,9)"EACH" 4810 PRINT"HOTELS COST $"P(PL,9)"+ 4 HOUSES OR $";(P(PL,9)*5) 4820 PRINT 4830 PRINT"YOU HAVE $"M(PT) 4840 PRINT"HOTELS AUTOMATICALLY ADDED AFTER 4TH HOUSE" 4850 PRINT"HOW MANY HOUSES DO YOU WANT TO BUY (MAX=";:MX=((5*PC)-HS):PRINTMX")" 4860 INPUTHN:IFHN>MXTHENGOTO4850 4870 H7=INT(HN/PC):H8=HN-(H7*PC) 4880 IFM(P7)<(HN*P(PL,9))THENPRINT"YOU DON'T HAVE ENOUGH MONEY!":GOTO4850 4890 IFHN=0THENPRINT"OK":GOSUB1730:RETURN 4900 M(P7)=M(P7)-(HN*P(PL,9)):FORE=PLTOPL+4:IFC$=C$(E)THENH(E)=H(E)+H7 4910 NEXT 4920 IFH8THEN4940 4930 GOTO5070 4940 PRINT"YOU HAVE"H8"HOUSES LEFT OVER" 4950 PRINT:F1=0:FORF=PLTOPL+4:IFC$=C$(F)THENF1=F1+1:PRINTF1,PN$(F);" "H(F) 4960 NEXT:PRINT:FORG=1TOH8 4970 PRINT"WHERE DO YOU WANT HOUSE #"G;:INPUTHL:IFHL=HOTHENPRINT"CAN'T":GOTO4970 4980 F2=0:F1=0:F9=0 4990 FORF=PLTOPL+3:IFC$=C$(F)THENF1=F1+1:IFF1=HLTHENF9=F 5000 NEXTF 5010 IFF9=0THENPRINT"NO SUCH NUMBER":GOTO4970 5020 H2=0:FORF=PLTOPL+3:IFC$=C$(F)THENIFH(F9)>H(F)THENH2=H2+1 5030 NEXT 5040 IFH2THENPRINT"ILLEGAL DISTRIBUTION OF HOUSES!":GOTO4970 5050 HO=HL:H(F9)=H(F9)+1 5060 NEXTG 5070 PRINT"DONE":GOSUB1730:RETURN 5080 INPUT"WHAT PLAYER HAS A PROPERTY TO SELL";P1 5090 IFP1=0THENGOSUB1730:RETURN 5091 TP=P1:GOSUB 7600:IFT1=1THEN5080 5092 INPUT"WHAT PLAYER IS BYING THE PROPERTY ";P2 5093 IF P2=0THENGOSUB1730:RETURN 5095 TP=P2:GOSUB7600:IFT1=1THEN5092 5096 IFP1=P2THENPRINT:PRINT"INVALID PLAYER #":PRINT:GOTO 5092 5110 PRINT"IS IT A PROPERTY";:INPUTQ$:IFLEFT$(Q$,1)="N"THEN5320 5120 PRINT"IN WHAT COLOR GROUP":PRINTPG$ 5130 PRINT:INPUT"WHICH";C$ 5140 FORI6=1TO41:IFC$=LEFT$(C$(I6),LEN(C$))THENPL=I6:C$=C$(I6):GOTO5170 5150 NEXTI6 5160 PRINT"ILLEGAL GROUP":GOTO5130 5170 PRINT"# PROPERTY";TAB(30);"OWNER" 5180 HO=0:CT=0:FORI=PLTOPL+4:IFC$=C$(I)THENCT=CT+1:PRINTCT" "PN$(I)"";TAB(35);PS(I) 5190 IFH(I)THENHO=1 5200 NEXT 5210 PRINT:PRINT"WHAT NUMBER DOES PLAYER"P1"WANT TO SELL" 5220 INPUTTP 5230 CT=0:FORI=PLTOPL+4:IFC$=C$(I)THENCT=CT+1:IFCT=TPTHENT4=I:FF=1 5240 NEXT 5250 IFFF=0THENPRINT"ILLEGAL NUMBER":GOTO5210 5260 IFPS(T4)<>P1THENPRINT"PLAYER #"P1"DOES NOT OWN IT.":GOTO5080 5270 IFHOTHENPRINT"YOU HAVE HOUSES ON THAT GROUP YOU CAN'T SELL IT.":GOTO5310 5280 INPUT "WHAT IS THE AGREED SELLING PRICE";SP 5290 M(P1)=M(P1)+SP:M(P2)=M(P2)-SP:PS(T4)=P2 5300 PRINT"PLAYER #"P2"BOUGHT "PN$(T4)"":PRINT"FOR $"SP 5310 PRINT:GOSUB1730:RETURN 5320 PRINT"PROPERTY";TAB(30);"OWNER" 5330 FORI=6TO36STEP10:N=N+1:PRINTN" "PN$(I)"";TAB(35);PS(I):NEXT:N=0 5340 PRINT" 5 "PN$(13)"";TAB(35);PS(13):PRINT" 6 "PN$(29)"";TAB(35);PS(29) 5350 INPUT"WHICH #";NM:IFNM=0THENRETURN 5360 IFNM<1ORNM>6THEN5350 5370 IFNM=5ANDPS(13)=P1THENSN=13:GOTO5410 5380 IFNM=6ANDPS(29)=P1THENSN=29:GOTO5410 5390 IFNM>0ANDNM<5THENSN=6+((NM-1)*10):IFPS(SN)=P1THENGOTO5410 5400 PRINT"YOU DON'T OWN IT.":GOTO5320 5410 INPUT"AGREED PRICE";SP 5420 M(P1)=M(P1)+SP:M(P2)=M(P2)-SP:PS(SN)=P2 5430 GOSUB1730:RETURN 5440 PRINT"[147]":PRINT" OPTIONS":PRINT"0 RETURN TO MAIN MENU":PRINT"1 MORTAGE PROPERTY" 5450 PRINT"2 MORTAGE RAILROAD":PRINT"3 MORTAGE UTILITY" 5460 PRINT"4 LIFT MORTAGE(AT 10% INTEREST)":PRINT"5 SELL HOUSES":PRINT 5470 INPUT"CHOICE";GG:IFGG<0ORGG>5THEN5470 5480 IFGG=0THENGOSUB1730:RETURN 5490 ONGGGOSUB5510,5740,5830,5910,6550 5500 GOTO5440 5510 PRINT:PRINT"ON WHICH GROUP IS THE PROPERTY TO BE":PRINT"MORTAGED LOCATED?":PRINTPG$ 5520 PRINT:INPUT"COLOR GROUP";C$ 5530 FORI6=1TO41:IFC$=LEFT$(C$(I6),LEN(C$))THENPL=I6:C$=C$(I6):GOTO5560 5540 NEXTI6 5550 PRINT"ILLEGAL GROUP":GOTO5520 5560 CM=0:FORI=PLTOPL+3:IFC$=C$(I)THENCM=CM+H(I) 5570 NEXT 5580 IFCMTHENPRINT"CAN'T MORTAGE PROPERTIES WITH HOUSES STILL ON THAT GROUP.":GOTO5730 5590 PRINT"# PROPERTY";TAB(25);"OWNER" 5600 CT=0:FORI=PLTOPL+4:IFC$<>C$(I)THEN5630 5610 CT=CT+1:PRINTCT" "PN$(I)"";TAB(27)PS(I);:PP$="":IFMG(I)THENPP$="MORTAGED" 5620 PRINTPP$ 5630 NEXT 5640 PRINT:PRINT"WHAT NUMBER IS TO BE MORTAGED.";:INPUTTP 5650 IFTP=0THENGOSUB1730:RETURN 5660 CT=0:FORI=PLTOPL+4:IFC$=C$(I)THENCT=CT+1:IFCT=TPTHENT4=I:FF=1 5670 NEXT 5680 IFFF=0THENPRINT"ILLEGAL NUMBER":GOTO5640 5690 IFPS(T4)<>PTTHENPRINT"YOU DON'T OWN IT.":GOSUB1730:GOTO5440 5700 IFMG(T4)=1THENPRINT"ALREADY MORTAGED":GOTO5640 5710 PRINT:PRINT"OK":MG(T4)=1 5720 PRINT"YOU GOT $"P(T4,8)"FOR YOUR MORTAGE.":M(PT)=M(PT)+P(T4,8) 5730 GOSUB1730:RETURN 5740 RC=0:FORI=6TO36STEP10:IFPT$(I)="RR"THENRC=RC+1:PRINTRC" "PN$(I)" PLR.#"PS(I) 5750 NEXT 5760 INPUT"WHICH #";RG 5770 IFRG<1ORRG>4THEN5760 5780 RG=6+((RG-1)*10) 5790 IFPS(RG)<>PTTHENPRINT"YOU DON'T OWN IT.":GOSUB1730:GOTO5440 5800 IFMG(RG)=1THENPRINT"ALREADY MORTAGED.":GOSUB1730:GOTO5440 5810 MG(RG)=1:PRINT"YOU GET $100 FOR MORTAGE.":M(PT)=M(PT)+100 5820 GOSUB1730:RETURN 5830 U(1)=13:U(2)=29 5840 FORI=1TO2:PRINTI" "PN$(U(I))"":NEXT 5850 INPUT"WHICH?";UM 5860 IFUM<1ORUM>2THEN5850 5870 IFPS(U(UM))<>PTTHENPRINT"YOU DON'T OWN IT.":GOSUB1730:GOTO5440 5880 IFMG(U(UM))=1THENPRINT"ALREADY MORTAGED.":GOSUB1730:GOTO5440 5890 MG(U(UM))=1:PRINT"YOU GET $75 FOR MORTAGE.":M(PT)=M(PT)+75 5900 GOSUB1730:RETURN 5910 PRINT:PRINT"THESE ARE THE PROPERTIES THAT ARE UNDER A MORTAGE." 5920 ML=0:FORI=1TO41:IFPS(I)=(PT)ANDMG(I)=1THENML=ML+1:PRINTML" "PN$(I)"" 5930 NEXT 5940 IFML=0THENPRINT"YOU HAVE NO MORTAGED PROPERTIES.":GOSUB1730:RETURN 5950 PRINT:INPUT"WHICH MORTAGE DO YOU WAN'T TO LIFT";LF 5960 IFLF<1ORLF>MLTHENPRINT"ILLEGAL":GOTO5950 5970 ML=0:FORI=1TO41:IFPS(I)=(PT)ANDMG(I)=1THENML=ML+1:IFML=LFTHENFT=I 5980 NEXT 5990 PRINT"THE MORTAGE IS FOR $"P(FT,8) 6000 PRINT"YOU MUST PAY $";:PY=P(FT,8)*1.10:PRINTPY 6010 IFPY>M(PT)THENPRINT"YOU DON'T HAVE THE MONEY.":GOSUB1730:RETURN 6020 M(PT)=M(PT)-PY:MG(FT)=0 6030 GOSUB1730:RETURN 6040 IFAFTHEN6060 6050 RETURN 6070 Y. 6110 IFBD=0THENON(AC>1)+2GOTO6140,6090 6190 PRINT:PRINTPN$(PL)" HAS NOT BEEN PURCHASED.":RETURN 6200 PRINT"[147]":PRINT"PLAYER #"PT"IS BROKE!!" 6210 PRINT"IF YOU CAN'T RAISE $"ABS(M(PT))"THEN YOU ARE OUT OF THE GAME." 6220 PRINT"DO NOT HIT 'Q' (RETURN TO GAME) UNTIL YOU FINISH TRYING TO"; 6230 PRINT" RAISE MONEY" 6240 GOSUB1730:GOSUB4080 6250 IFM(PT)>=0THENRETURN 6260 PRINT"YOU ARE BANKRUPT!!!":GOTO6297 6280 PRINT"[147]":PRINT:PRINT"OPTIONS:":PRINT 6281 PRINT"0 - RETURN TO MENU":PRINT"1 - CURRENT PLAYER QUITS" 6282 PRINT"2 - END THE GAME" 6283 PRINT"3 - SAVE GAME":PRINT 6284 INPUT"ENTER OPTION ";KK 6285 IF KK<0 OR KK>3 THEN 6280 6287 IF KK=0 THEN RETURN 6290 IF KK=2 THEN 6325 6291 IF KK=3 THEN 8100 6295 PRINT:PRINT"PLAYER #";PT;" QUITS!!" 6297 PRINT"ALL THE PLAYER'S PROPERY IS RETURNED TO THE BANK!" 6299 PQ(PT)=1:M(PT)=0:PQ=PT 6301 KK=0 6303 FOR QQ=1 TO 4:IF PQ(QQ)=0 THEN KK=KK+1:ZZ=QQ 6304 NEXTQQ 6305 IF KK=1 THEN PRINT:PRINT"PLAYER #";ZZ;" WINS!!":END 6307 GOSUB 7000 6315 PT=PT+1:IFPT>4 THEN PT=1 6320 RETURN 6325 REM "END GAME" 6326 FORZZ=1TO4:IFPQ(ZZ)=0THENKK=ZZ:GOSUB7300 6327 NEXTZZ 6329 PRINT:PRINT"THE FINAL STANDINGS:" 6330 PRINT"PLAYER 1 = $";M(1) 6340 PRINT"PLAYER 2 = $";M(2) 6341 PRINT"PLAYER 3 = $";M(3) 6342 PRINT"PLAYER 4 = $";M(4) 6350 PRINT 6360 POKE54296,0:FORI=1TO6:POKEG(I),0:END 6370 FORJ=832TO939 6380 READI:POKEJ,I:NEXT 6390 DATA 160,0,185,0,4,153,0,192,185,0,5,153,0,193,185,0,6,153,0 6400 DATA 194,185,0,7,153,0,195,185,0,216,153,0,196,185,0,217,153,0 6410 DATA 197,185,0,218,153,0,198,185 6420 DATA 0,219,153,0,199,200,208,205,96,160,0,185,0,192,153,0,4,185,0,193,153 6430 DATA 0,5,185,0,194,153,0,6,185,0,195,153,0,7,185,0,196,153,0,216,185,0,197 6440 DATA 153,0,217,185,0,198,153,0,218,185,0,199,153,0,219,200,208,205,96 6460 RETURN 6470 FORP4=1TO4 6472 KK$="" 6474 IF PQ(P4)=0 THEN KK$=PN$(PL(P4)) 6476 IF PQ(P4)=1 THEN KK$=">QUIT<" 6478 IF PQ(P4)=2 THEN KK$=">NOT PLAYING<" 6480 Y$=""+KK$+LEFT$(" ",17-(LEN(KK$)-2))+"[146]" 6490 MN$="$"+MID$(STR$(M(P4)),2)+" [146]":X=13:Y=2*P4+3:Z$=Y$ 6491 IF P4>2THEN Y=Y+5:X=07 6492 GOSUB 1570 6500 Y=Y+1:Z$=MN$:GOSUB1570:NEXT:RETURN 6510 PRINT"DISPLAY DEEDS FOR WHICH COLOR GROUP:":PRINTPG$:INPUTC$:PRINT 6520 P3=PL:FORI=1TO41:IFC$=LEFT$(C$(I),LEN(C$))THENGF=1:PL=I:GOSUB1900:GF=0 6530 NEXT:PL=P3:RETURN 6540 M(PT)=M(PT)+200:PRINT"COLLECTED $200":RETURN 6550 PRINT"ON WHICH COLOR GROUP:":PRINTPG$:INPUTC$ 6560 PL=0:FORI=41TO1STEP-1:IFC$=LEFT$(C$(I),LEN(C$))THENPL=I:C$=C$(I) 6570 NEXTI:IFPLTHEN6590 6580 PRINT"ILLEGAL GROUP":GOTO6550 6590 DO=0:HN=0:FORI=PLTOPL+3:IFPS(I)<>(PT)ANDC$=C$(I)THENDO=1 6600 IFC$=C$(I)THENHN=HN+H(I) 6610 NEXT 6620 IFDO=1ORHN=0THENPRINT"YOU DON'T OWN HOUSES ON THESE PROPERTIES":GOSUB1730:RETURN 6630 PRINT"# PROPERTY";TAB(25);"HOUSES(5=HOTEL)" 6640 CT=0:FORI=PLTOPL+3:IFC$=C$(I)THENCT=CT+1:PRINTCT" "PN$(I)"";TAB(27)H(I) 6650 NEXT 6660 INPUT"WANT TO REMOVE ALL THESE HOUSES";A$:IFLEFT$(A$,1)="Y"THEN6800 6670 PRINT:INPUT"WHAT # TO REMOVE A HOUSE FROM.";TP 6680 IFTP=0THEN RETURN 6690 CT=0:FORI=PLTOPL+3:IFC$=C$(I)THENCT=CT+1:IFCT=TPTHENT4=I:FF=1 6700 NEXT 6710 IFFF=0THENPRINT"ILLEGAL NUMBER":GOTO6670 6720 IFH(T4)=0THENPRINT"NO HOUSES THERE.":GOTO6670 6730 NN=0:NH=H(T4):FORI=PLTOPL+3:IFH(I)>NHTHENNN=1 6740 NEXT 6750 IFNNTHENPRINT"YOU CAN'T REMOVE THAT HOUSE.":GOTO6670 6760 PRINT:PRINT"OK.":H(T4)=H(T4)-1 6770 HM=P(PL,9)/2 6780 PRINT"YOU GOT $"HM"FOR YOUR HOUSE":M(PT)=M(PT)+HM 6790 GOSUB1730:GOTO5440 6800 HM=0:FORI=PLTOPL+3:IFC$=C$(I)THENHM=HM+(P(PL,9)/2)*H(I):H(I)=0 6810 NEXT:PRINT"YOU GOT $"HM"FOR YOUR HOUSES":M(PT)=M(PT)+HM:GOTO6790 7000 REM "RETURN PLAYER'S PROP. TO BANK" 7010 FOR KK=1TO40 7030 IF PS(KK)<>PT THEN 7190 7040 PS(KK)=0:H(KK)=0:MG(KK)=0 7190 NEXT KK 7195 GOSUB 1730 7200 RETURN 7300 REM "SELL ALL PLAYERS HOUSES " 7305 PRINT:PRINT"NOW LIQUIDATING PLAYER #";KK;" ASSETS!" 7307 TT=0:T1=0 7310 FOR I=1 TO 40 7311 PRINT"."; 7320 C$=C$(I) 7330 DO=0:HN=0:FORQQ=ITOI+3:IFPS(I)<>(KK)ANDC$=C$(I)THENDO=1 7340 IFC$=C$(I)THENHN=HN+H(I):NEXT 7350 IFDO=1ORHN=0THEN 7400 7360 HM=0:FORQQ=ITOI+4:IFC$=C$(I)THENHM=HM+(P(QQ,9)/2)*H(I):H(I)=0 7368 NEXT QQ 7370 M(KK)=M(KK)+HM:TT=TT+HM 7400 IF DO=1 THEN 7500 7410 HM=0 7420 IF C$=C$(I)ANDPS(I)=KK THENHM=HM+P(I,8) 7440 M(KK)=M(KK)+HM:T1=T1+HM 7500 NEXT I 7510 PRINT:PRINT"TOTAL FOR HOUSES =";TT: 7520 PRINT"TOTAL MORTAGED PROPRETY VALUE =";T1:RETURN 7600 REM "TEST PLAYER #[160]INPUT" 7601 T1=0 7610 IF TP<1 OR TP>4 THEN PRINT:PRINT"INVALID PLAYER #":PRINT:T1=1:RETURN 7620 IF PQ(TP)<>0 THEN PRINT:PRINT"PLAYER NOT CURRENTL PLAYING!":PRINT:T1=1 7630 RETURN 8000 PRINT"[147]YOU LANDED ON GO!!" 8010 PRINT"COLLECT AN EXTRA $200" 8020 PRINT:GOSUB 1730 8025 M(PT)=M(PT)+200 8030 RETURN 8100 REM "SAVE EXISTING GAME" 8110 PRINT"[147]":PRINT 8120 KK$="" 8130 PRINT"ENTER FILE NAME - OR 0 TO RETURN TO MENU " 8131 INPUT KK$ 8135 IF KK$=""THEN 8130 8137 IF KK$="0" THEN 6280 8140 IF LEN(KK$)<17 THEN 8200 8150 PRINT:PRINT"FILE NAME TO LONG!!!":GOTO 8130 8200 REM "OPEN WORK FILE" 8210 OPEN2,8,1,"0:"+KK$+",S,W" 8250 PRINT:PRINT"NOW SAVING GAME - PLEASE WAIT" 8252 PRINT#2,PF;CHR$(13) 8255 PRINT#2,FP;CHR$(13) 8260 PRINT#2,PT;CHR$(13) 8400 FOR QQ=1 TO 42:PRINT#2,PS(QQ);CHR$(13):NEXTQQ 8410 FOR QQ=1 TO 42:PRINT#2,H(QQ);CHR$(13):NEXT QQ 8420 FOR QQ=1 TO 42:PRINT#2,MG(QQ);CHR$(13):NEXTQQ 8440 FOR QQ=1 TO 4:PRINT#2,PL(QQ);CHR$(13):NEXTQQ 8450 FOR QQ=1 TO 4:PRINT#2,O(QQ);CHR$(13):NEXTQQ 8460 FOR QQ=1 TO 4:PRINT#2,JT(QQ);CHR$(13):NEXTQQ 8465 FOR QQ=1 TO 4:PRINT#2,M(QQ);CHR$(13):NEXTQQ 8470 FOR QQ=1 TO 4:PRINT#2,CJ(QQ);CHR$(13):NEXTQQ 8480 FOR QQ=1 TO 4:PRINT#2,N$(QQ);CHR$(13):NEXTQQ 8485 FORQQ=1TO4:PRINT#2,PQ(QQ);CHR$(13):NEXTQQ 8490 CLOSE 2 8492 OPEN15,8,15:INPUT#15,Q$,Q1$,Q2$,Q3$ 8493 CLOSE15 8494 IF Q$="00" THEN 8600 8495 PRINT:PRINT"ERROR ON OPEN OF SAVE FILE" 8496 PRINT"ERROR # =";Q$ 8497 PRINT"MESSAGE =";Q1$:PRINT 8500 IF Q$<>"63"THEN 8120 8510 PRINT"PURGE OLD SAVE FILE"; 8520 INPUT K1$ 8530 IF K1$<>"Y"AND K1$<>"N"THEN PRINT:PRINT"ANSWER Y OR N":PRINT:GOTO 8510 8540 IF K1$="N"THEN 8120 8550 OPEN2,8,1,"@0:"+KK$+",S,W" 8560 GOTO 8250 8600 PRINT"THE GAME IS SAVED!!!" 8610 END 9100 REM "RESTART A SAVED GAME" 9110 PRINT"[147]":PRINT 9120 KK$="" 9130 PRINT"ENTER FILE NAME - OR 0 TO CANCEL" 9132 INPUT KK$ 9135 IF KK$=""THEN 9130 9137 IF KK$="0" THEN RETURN 9140 IF LEN(KK$)<17 THEN 9200 9150 PRINT:PRINT"FILE NAME TO LONG!!!":GOTO 9130 9200 REM "OPEN WORK FILE" 9210 OPEN2,8,2,"0:"+KK$+",S,R" 9250 PRINT:PRINT"NOW RESTORING GAME - PLEASE WAIT" 9252 INPUT#2,PF 9255 INPUT#2,FP 9260 INPUT#2,SS 9340 FOR QQ=1TO42 9400 FOR QQ=1 TO 42:INPUT#2,PS(QQ):NEXTQQ 9410 FOR QQ=1 TO 42:INPUT#2,H(QQ):NEXT QQ 9420 FOR QQ=1 TO 42:INPUT#2,MG(QQ):NEXTQQ 9440 FOR QQ=1 TO 4:INPUT#2,PL(QQ):NEXTQQ 9450 FOR QQ=1 TO 4:INPUT#2,O(QQ):NEXTQQ 9460 FOR QQ=1 TO 4:INPUT#2,JT(QQ):NEXTQQ 9465 FOR QQ=1 TO 4:INPUT#2,M(QQ):NEXTQQ 9470 FOR QQ=1 TO 4:INPUT#2,CJ(QQ):NEXTQQ 9480 FOR QQ=1 TO 4:INPUT#2,N$(QQ):NEXTQQ 9485 FOR QQ=1 TO 4:INPUT#2,PQ(QQ):NEXTQQ 9490 CLOSE 2 9491 OPEN15,8,15 9492 INPUT#15,Q$,Q1$,Q2$,Q3$ 9493 CLOSE15 9494 IF Q$="00" THEN 9500 9495 PRINT:PRINT"ERROR ON OPEN OF SAVE FILE" 9496 PRINT"ERROR # =";Q$ 9497 PRINT"MESSAGE =";Q1$:PRINT 9498 GOTO 9120 9500 PRINT"THE GAME IS RESTORED!" 9510 RS=1 9520 PRINT:PRINT"THE FOLLOWING WERE PLAYING:" 9530 FOR QQ=1 TO 4 9540 IF PQ(QQ)=0THEN PRINT"#";QQ;N$(QQ) 9550 NEXT QQ 9560 PRINT:PRINT"THERE WAS $";FP;"IN FREE PARKING!" 9570 PRINT:GOSUB1730 9580 RETURN